A typical modern corporation relies on several computer applications, each optimized for a particular subset of functions, to assist in running and monitoring the business. These applications could be located in different physical locations, be written for different computer platforms, and use different terms and data structures to store application data. The business user of the system may require these disparate applications to be used in a particular sequence and data to be shared in order to carry out business functions. An in-depth knowledge of each of these individual applications should not be required of the business user. Ideally, the applications should be tied together under a consistent user interface and presented to the business user as a single, integrated application program that automates as many steps of the business workflow process as possible.
A workflow may generally be defined as a series of steps or tasks that must be completed in order to achieve a desired result. Traditionally, groups of people, working as teams or business units, coordinated their disparate but interrelated tasks to achieve a greater goal. With the advent of computers, and more specifically network computing, many of the functions that were usually executed manually by people using pencil and paper have moved into the digital world. By using groups of networked computers, people now have the ability to electronically execute the various steps of a workflow and pass their completed work off to the next responsible part by the way of the network. In addition, computers can be programmed with the instructions necessary to execute a step or steps in the workflow process, these systems have been able to execute their tasks in an automated fashion, usually without the need for human intervention. This has resulted in increased levels of efficiency.
A drawback of the current workflow management systems has to do with data transfer and translation between different application programs in the workflow process. Data is typically communicated in batch downloads or manual updates that require human intervention. As a result, key business decisions are frequently based upon outdated and often inaccurate information because the data is not updated on a real-time basis and because it is not synchronized across the various applications.
Workflow management systems generally employ a component known as a “workflow manager”. The purpose of the workflow manager is to coordinate and oversee the various systems that are utilized in the overall execution of a workflow. More specifically, the workflow manager is responsible for coordinating the sequencing, timing, dependency, data, business rules and organization policy enforcement requirements of process activities needed to enact a workflow. A significant drawback to such systems is the substantial overhead involved in organizing and instructing applications how and when workflow tasks are to be executed. This overhead is realized in the form of additional hardware requirements as well as substantial network traffic.
Additionally, workflow management systems can be difficult to create and maintain. An in-depth knowledge of the underlying computer applications, application data formats, and the operating systems is required in order to create a new workflow management system or to change an existing workflow management system. Individual application programs that contain complex error handling, interfaces, and data translations must be written by highly specialized computer programmers.
Some standards groups have set forth standards for creating a messaging architecture through which dissimilar applications can communicate and interoperate. The Workflow Management Coalition (WMC), which can be found at www.wfmc.org, is one of these standards groups and has attempted to establish a common terminology to model issues found in most workflow systems. The WMC has also described a method for defining workflow terms between disparate technologies in order to enable interoperability between different organizations. However, the WMC fails to provide an implementation of its recommendations.